home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / ldapjdk.jar / netscape / ldap / LDAPAttributeSchema.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-04-13  |  3.0 KB  |  168 lines

  1. package netscape.ldap;
  2.  
  3. public class LDAPAttributeSchema extends LDAPSchemaElement {
  4.    protected int syntax = 0;
  5.    private boolean single = false;
  6.  
  7.    protected LDAPAttributeSchema() {
  8.    }
  9.  
  10.    public LDAPAttributeSchema(String var1, String var2, String var3, int var4, boolean var5) {
  11.       super(var1, var2, var3);
  12.       super.attrName = "attributetypes";
  13.       this.syntax = var4;
  14.       this.single = var5;
  15.    }
  16.  
  17.    public LDAPAttributeSchema(String var1) {
  18.       super.attrName = "attributetypes";
  19.       var1.trim();
  20.       int var2 = var1.length();
  21.       var1 = var1.substring(2, var2 - 1);
  22.       var2 = var1.length();
  23.       int var3 = var1.indexOf(32);
  24.       super.oid = var1.substring(0, var3);
  25.       char[] var4 = new char[var2];
  26.       var1 = var1.substring(var3 + 1, var2);
  27.       var2 = var1.length();
  28.       var1.getChars(0, var2, var4, 0);
  29.       var3 = 0;
  30.       var2 = var4.length;
  31.  
  32.       while(var3 < var2) {
  33.          String var5;
  34.          for(var5 = ""; var4[var3] == ' '; ++var3) {
  35.          }
  36.  
  37.          int var7;
  38.          for(var7 = var3 + 1; var7 < var2 && var4[var7] != ' '; ++var7) {
  39.          }
  40.  
  41.          if (var3 < var2 && var7 < var2) {
  42.             var5 = new String(var4, var3, var7 - var3);
  43.             var3 = var7;
  44.             if (var5.equalsIgnoreCase("SINGLE-VALUE")) {
  45.                this.single = true;
  46.                continue;
  47.             }
  48.          } else {
  49.             var3 = var2;
  50.          }
  51.  
  52.          while(var3 < var2 && var4[var3] != '\'') {
  53.             ++var3;
  54.          }
  55.  
  56.          for(var7 = var3 + 1; var7 < var2 && var4[var7] != '\''; ++var7) {
  57.          }
  58.  
  59.          if (var3 < var7 && var7 < var2) {
  60.             String var6 = new String(var4, var3 + 1, var7 - var3 - 1);
  61.             var3 = var7 + 1;
  62.             if (var5.equalsIgnoreCase("NAME")) {
  63.                super.name = var6;
  64.             } else if (var5.equalsIgnoreCase("DESC")) {
  65.                super.description = var6;
  66.             } else if (var5.equalsIgnoreCase("SYNTAX")) {
  67.                this.syntax = this.syntaxCheck(var6);
  68.             }
  69.          }
  70.       }
  71.  
  72.    }
  73.  
  74.    public int getSyntax() {
  75.       return this.syntax;
  76.    }
  77.  
  78.    public boolean isSingleValued() {
  79.       return this.single;
  80.    }
  81.  
  82.    protected String internalSyntaxToString() {
  83.       String var1;
  84.       if (this.syntax == 1) {
  85.          var1 = "1.3.6.1.4.1.1466.115.121.1.15";
  86.       } else if (this.syntax == 2) {
  87.          var1 = "1.3.6.1.4.1.1466.115.121.1.5";
  88.       } else if (this.syntax == 4) {
  89.          var1 = "1.3.6.1.4.1.1466.115.121.1.26";
  90.       } else if (this.syntax == 3) {
  91.          var1 = "1.3.6.1.4.1.1466.115.121.1.50";
  92.       } else if (this.syntax == 5) {
  93.          var1 = "1.3.6.1.4.1.1466.115.121.1.12";
  94.       } else if (this.syntax == 6) {
  95.          var1 = "1.3.6.1.4.1.1466.115.121.1.27";
  96.       } else {
  97.          var1 = "unknown";
  98.       }
  99.  
  100.       return var1;
  101.    }
  102.  
  103.    public String getValue() {
  104.       String var1 = "( " + super.oid + " NAME '" + super.name + "' DESC '" + super.description + "' SYNTAX '";
  105.       var1 = var1 + this.internalSyntaxToString();
  106.       var1 = var1 + "' ";
  107.       if (this.single) {
  108.          var1 = var1 + "SINGLE-VALUE ";
  109.       }
  110.  
  111.       var1 = var1 + ')';
  112.       return var1;
  113.    }
  114.  
  115.    protected String syntaxToString() {
  116.       String var1;
  117.       if (this.syntax == 1) {
  118.          var1 = "case-insensitive string";
  119.       } else if (this.syntax == 2) {
  120.          var1 = "binary";
  121.       } else if (this.syntax == 6) {
  122.          var1 = "integer";
  123.       } else if (this.syntax == 4) {
  124.          var1 = "case-exact string";
  125.       } else if (this.syntax == 3) {
  126.          var1 = "telephone";
  127.       } else if (this.syntax == 5) {
  128.          var1 = "distinguished name";
  129.       } else {
  130.          var1 = "unknown";
  131.       }
  132.  
  133.       return var1;
  134.    }
  135.  
  136.    public String toString() {
  137.       String var1 = "Name: " + super.name + "; OID: " + super.oid + "; Type: ";
  138.       var1 = var1 + this.syntaxToString();
  139.       var1 = var1 + "; Description: " + super.description + "; ";
  140.       if (this.single) {
  141.          var1 = var1 + "single-valued";
  142.       } else {
  143.          var1 = var1 + "multi-valued";
  144.       }
  145.  
  146.       return var1;
  147.    }
  148.  
  149.    protected int syntaxCheck(String var1) {
  150.       byte var2 = 0;
  151.       if (var1.equals("1.3.6.1.4.1.1466.115.121.1.15")) {
  152.          var2 = 1;
  153.       } else if (var1.equals("1.3.6.1.4.1.1466.115.121.1.5")) {
  154.          var2 = 2;
  155.       } else if (var1.equals("1.3.6.1.4.1.1466.115.121.1.26")) {
  156.          var2 = 4;
  157.       } else if (var1.equals("1.3.6.1.4.1.1466.115.121.1.27")) {
  158.          var2 = 6;
  159.       } else if (var1.equals("1.3.6.1.4.1.1466.115.121.1.50")) {
  160.          var2 = 3;
  161.       } else if (var1.equals("1.3.6.1.4.1.1466.115.121.1.12")) {
  162.          var2 = 5;
  163.       }
  164.  
  165.       return var2;
  166.    }
  167. }
  168.